Layered Development with (Unix) Dynamic Libraries

نویسنده

  • Yannis Smaragdakis
چکیده

Layered software development has demonstrably good reuse properties and offers one of the few promising approaches to addressing the library scalability problem. In this paper, we show how one can develop layered software using common Unix (Linux/Solaris) dynamic libraries. In particular, we show that, from an object-oriented design standpoint, dynamic libraries are analogous to components in a mixin-based object system. This enables us to use libraries in a layered fashion, mixing and matching different libraries, while ensuring that the result remains consistent. As a proof-of-concept application, we present two libraries implementing file versioning (automatically keeping older versions of files for backup) and application-transparent locking in a Unix system. Both libraries can be used with new, aware applications or completely unaware legacy applications. Further, the libraries are useful both in isolation, and as cooperating units.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cheating the ELF

Development of feature rich Unix parasites has been severely limited by the inability to reliably access functions external to the host file. Until now, it has been accepted as fact that utilizing libraries from within parasite code is a prohibitively complex task. We explore the dynamic linking mechanisms of the Executable and Linkable Format (ELF), and how these mechanisms can be bypassed or ...

متن کامل

An Approach to Genuine Dynamic Linking

This paper describes a new approach to dynamic link/unlink editing. The basis of this approach is a library of link editing functions that can add compiled object code to or remove such code from a process any time during its execution. Loading modules, searching libraries, resolving external references, and allocating storage for global and static data structures are all performed at run time....

متن کامل

Adam Worrall SKILLS

rd 1998. . An investigation into the application of photo-realistic shadowing techniques for interactive graphics. Resulted in two international conference papers, and one journal paper. Submitted to the University of Bristol, 1998. Dynamic Discontinuity Meshing I have recently completed a PhD in the area of interactive graphics. This entailed the design and implementation of a medium-sized (>1...

متن کامل

Language Support for Optional Functionality

We recommend a programming construct – availability check – for programs that need to automatically adjust to presence or absence of segments of code. The idea is to check the existence of a valid definition before a function call is invoked. The syntax is that of a simple ‘if’ statement. The vision is to enable customization of application functionality through addition or removal of optional ...

متن کامل

An Approach to Genuine Dynamic Linking

This paper describes a new approach to dynamic link/unlink editing. The basis of this approach is a library of link editing functions that can add compiled object code to or remove such code from a process anytime during its execution. Loading modules, searching libraries, resolving external references, and allocating storage for global and static data structures are all performed at run time. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002